package com.xiaoa.gossip.cluster.service;

import java.util.List;

/**
 * 数据插槽
 *
 * @author luokaichuang
 * @time 2020/6/22
 */
public interface DataSoftService {

    /**
     * 准备迁移Solt到指定节点
     **/
    boolean prepareTransferSolt(String nodeId);

    /**
     * 迁移数据到指定节点
     **/
    boolean transmissionSoltToNode(String nodeId, List<Integer> solts);

    /**
     * 计算key的 solt值
     **/
    int hasSolt(String key);

    /**
     * 公平分配 solt
     *
     * @author jm008783
     * @param: []
     * @return: java.util.List<java.util.List < java.lang.Integer>>
     **/
    void allocationSolt();

    /**
     * 分配槽到指定节点
     **/
    void allocationSolt(List<Integer> solt, String noteId);


}
